Traditional personal computer system architectures are structured around a Central Processing Unit (CPU) that communicates across a parallel bus to numerous peripherals and subsystems. The CPU commonly displays data on a video screen by writing the data over the main system bus to a dedicated block of Random Access Memory (RAM) which serves as video or display memory. A Cathode Ray Tube Controller (CRTC), acting essentially as a second CPU or display processor, periodically reads the data from video memory and presents it to a video display along a separate video bus. Substantial delays are introduced by this periodic cycle as the CRTC sequentially reads the memory locations of video memory and presents the stored data to refresh the display. During this refresh, the CRTC has access priority over the video memory, thereby excluding access by the CPU. Video data which is ready to be transmitted from the CPU must wait until the CRTC momentarily relinquishes control before such data can be written to video memory. Access to the video memory must be reestablished for each byte of data transmitted thereto. The consequence of this contention for access to the video memory is that presentation of data for video display is limited in conventional systems by the frequency with which the CPU is able to gain control of the video RAM between refresh cycles, and is therefore largely independent of processor speed.
Additionally, conventional systems commonly require the CPU to perform a read-modify-write sequence for each new byte that is sent to update the video display. This three step sequence is required to allow the CPU to add or subtract video data from the data that is stored for each display pixel, or picture element, without disturbing the stored data for other pixels. To accomplish this task, the CPU must read the byte of pixel data from video memory and analyze it before executing a subsequent write step. One consequence of the read-modify-write sequence is that every change in the data to be displayed requires two accesses to the video memory. The first access is to read the video memory and the second access is to write into the video memory. This double access requirement in conventional systems thus introduces substantial delays into the processing of video displays. Such delays in processing the video display can be easily observed in cursor movement on the video display, for example, when an input pointing device such as a "mouse" is moved. As a specific example, the computer program "Windows 3.0," supplied by Microsoft Corporation of Redmond, Wash., demonstrates a significant delay between rapid mouse movements and the resulting cursor response when the program is run on a conventional personal computer system. Another example of such delays can be observed when a command is given to fill a displayed block image with a solid color. Although the CPU rapidly calculates the coordinates of pixels to be altered, each coordinate must be transmitted to video memory one byte at a time. Between each byte transfer the CPU must wait to regain access to the video RAM. The resulting delay is evidenced by the relatively slow scanning motion that is observed on the display as the block image is filled with the solid color.